Tips Trik Cloud Services
Instalasi SSL di Ubuntu Server
- Gilang V. Perdana
- 09 Sep 2021
- dilihat 593

Nginx & Apache - SSL
Environment : Ubuntu Server 18.04 — 21.04 A. Instalasi SSL pada Ubuntu Server IP Lokal dengan Nginx: Dalam proses pengembangan suatu website/aplikasi terkadang kita membutuhkan koneksi HTTPS untuk bisa mem-verifikasi jalannya aplikasi tersebut, karena terkadang tanpa HTTPS ada beberapa fitur yang tidak bisa digunakan, contoh kecilnya seperti uji coba Video Conference (akses mic, webcam,dsb) yang mana membutuhkan SSL untuk mencobanya. Maka dari itu tidak ada salahnya untuk menggunakan SSL pada IP Private atau yang sering kita sebut sebagai Self Signed SSL. Untuk cek IP Lokal bisa menggunakan $ ifconfig atau $ ip addr Sesuaikan IP.1 , IP.2 sesuai IP private ubuntu kalian (jika hanya terdapat 1 IP, silahkan hapus IP.2) . Tidak lupa untuk menyesuaikan juga Data SSL (req_distinguished_name) sesuai data kalian. Lakukan generate file sertifikat: Lalu salin file hasil generate ke directory dimana sertifikat akan di execute oleh web engine: Rubah sedikit default.conf pada Nginx: Pada default.conf silahkan sesuaikan sesuai env masing masing, namun pastikan listen 443 dan directory ssl sesuai pada directory ssl yang telah kita generate tadi. Setelah file konfigurasi sudah tersimpan, silahkan lakukan restart pada nginx: Akses web kalian pada: Voilaa, Instalasi SSL pada ip local sudah berhasil kita lakukan. B. Instalasi SSL pada Ubuntu Server IP Lokal dengan Apache: Sama halnya dengan Nginx, Apache juga sebuah web engine. Adapun cara instalasi SSL pada Apache di IP lokal adalah sebagai berikut: Buat file konfigurasi dari parameter apache: Salin file yang diperlukan: Modifikasi default-ssl.conf dari apache: Modifikasi default.conf dari apache dengan merubah ip kalian: Tambahkan ini dibawah “VirtualHost” : Save,exit. Kurang lebih seperti ini jadinya: Lakukan apply dan reload pada apache: Akses pada : Voila, kamu sudah berhasil instalasi SSL pada Apache2 dengan IP Lokal. Pada IP Publik instalasi SSL tidak serumit seperti instalasi pada IP Private. Ada beberapa cara untuk Generate SSL pada IP Publik, yaitu dengan Self Signed, Generate oleh BOT terpercaya (seperti CertBot,dsb) dan juga kita bisa langsung input menggunakan sertifikat yang kita miliki sebelumnya (tanpa harus generate menggunakan certbot/openssl lagi). Namun di-tutorial kali ini saya akan membahas untuk generate SSL menggunakan CertBot. Jika kalian ingin mengikuti lab ini, diharapkan agar anda memiliki setidaknya domain dan VPS. Jika sudah memiliki, tentunya tidak lupa untuk mounting IP VPS kepada DNS Record kalian pada dashboard DNS kalian. Mounting IP VPS pada DNS Record, Berikan A record dan CNAME Record. Seperti ini contohnya: Record A dan menambahkan CNAME Record (opsional) sebagai auto redirect dari www agar langsung menuju ke DNS yang dituju. Jika sekiranya DNS sudah ter-mounting dengan baik, kita bisa langsung lanjut ke tutorial selanjutnya. A. Instalasi SSL pada IP Publik/VPS menggunakan Nginx: 1. Tanpa Kontainer (Docker): Ikuti saja suruhan yang ada, lalu setelah berhasil silahkan akses: https://domain_kamu Jika kalian ingin renew sertifikat yang sudah habis, lakukan: Voila kamu berhasil instalasi SSL di Nginx pada IP Publik 2. Dengan Kontainer (Docker): Lalu ikuti tutorial pada MD yang tersedia disana. B. Instalasi SSL pada IP Publik/VPS menggunakan Apache: 1. Tanpa kontainer (Docker): Ikuti saja suruhan yang ada, lalu setelah berhasil silahkan akses: https://domain_kamu Jika kamu ingin renew sertifikat yang sudah habis, lakukan: Voila kamu berhasil instalasi SSL di Apache pada IP Publik. 2. Dengan Kontainer (Docker): Lalu ikuti tutorial pada MD yang tersedia disana.Halo teman teman, kembali lagi bersama saya, Gilang. Kali ini saya ingin sharing tentang bagaimana cara instalasi SSL atau dalam kata lain sertifikat untuk koneksi HTTPS pada Linux Ubuntu Server. Ada dua web engine yang akan saya bahas disini yaitu Nginx dan Apache, pada Server tanpa IP Publik maupun dengan IP Publik. Tidak banyak basa-basi mari kita langsung menuju ke cara instalasi.
Dengan IP Private:
$ sudo apt update && apt-get full-upgrade (lakukan ini jika belum menginstall nginx).
$ sudo apt-get install -y nginx (pastikan nginx sudah terinstall).
$ sudo apt-get install openssl
$ mkdir SSL && cd SSL/
$ sudo nano localhost.conf
Save, exit.$ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout localhost.key -out localhost.crt -config localhost.conf
$ sudo cp localhost.crt /etc/ssl/certs/localhost.crt
$ sudo cp localhost.key /etc/ssl/private/localhost.key
$ sudo nano /etc/nginx/sites-available/default , isi dengan konfigurasi dibawah ini (jika memungkinkan, hapus terlebih dahulu semua konfigurasi yang ada sebelumnya, lalu copas konfigurasi dibawah ini):
save,exit.$ sudo service nginx reload
$ sudo apt update && apt-get full-upgrade (lakukan ini jika belum menginstall apache).
$ sudo apt-get install -y apache2 (verifikasi apache sudah ter-install)
$ sudo apt-get install openssl
$ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt
$ sudo nano /etc/apache2/conf-available/ssl-params.conf , isi dengan:
Save, exit.$ sudo cp /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-available/default-ssl.conf.bak
$ sudo nano /etc/apache2/sites-available/default-ssl.conf , isi dengan (jika memungkinkan, hapus terlebih dahulu semua konfigurasi yang ada sebelumnya, lalu copas konfigurasi dibawah ini) :
Save, exit.$ sudo nano /etc/apache2/sites-available/000-default.conf
. . .
Redirect “/” “https://ip_lokal_vm_kamu”
. . .
$ sudo a2enmod ssl
$ sudo a2enmod headers
$ sudo a2ensite default-ssl
$ sudo a2enconf ssl-params
$ sudo apache2ctl configtest
$ sudo /etc/init.d/apache2 reload
https:// /ip_lokal_vm_kamu
Dengan IP Publik:
$ sudo apt update && apt-get full-upgrade (lakukan ini jika belum menginstall nginx).
$ sudo apt-get install -y nginx (verifikasi nginx sudah terinstall).
$ sudo apt install certbot python3-certbot-nginx
$ certbot — nginx -d domain.com -d www.domain.com
$ sudo certbot renew — dry-run
$ sudo apt update && apt-get full-upgrade (lakukan ini jika belum menginstall apache).
$ sudo apt-get install -y apache2 (verifikasi apache sudah ter-install)
$ sudo apt-get install certbot python3-certbot-apache apache2
$ sudo certbot — apache
$ sudo certbot renew — dry-run
Sekian dari saya, tentunya tutorial ini sudah saya buktikan sendiri dan berhasil. Terima kasih semua.
0 Komentar